:root{color-scheme:dark;--chart-logged: #22d3ee;--bg: #0f1117;--bg-elev: #171a23;--bg-elev-2: #1d212c;--bg-hover: #232734;--border: #2a2f3c;--border-soft: #232734;--text: #e6e8ee;--text-dim: #a3a9b8;--text-faint: #6b7280;--accent: #6366f1;--accent-soft: #4f46e5;--accent-bg: rgba(99, 102, 241, .14);--wc-new: #34d399;--wc-new-bg: rgba(52, 211, 153, .12);--wc-fix: #f59e0b;--wc-fix-bg: rgba(245, 158, 11, .13);--wc-other: #94a3b8;--wc-other-bg: rgba(148, 163, 184, .12);--pos: #34d399;--neg: #f87171;--warn: #fbbf24;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 6px 24px rgba(0, 0, 0, .25);--topbar-bg: rgba(15, 17, 23, .86);--logo-color: #6ba5ff;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=light]{color-scheme:light;--chart-logged: #0891b2;--bg: #f6f7f9;--bg-elev: #ffffff;--bg-elev-2: #ffffff;--bg-hover: #eef0f4;--border: #e3e6ec;--border-soft: #edeff3;--text: #1b1f29;--text-dim: #586072;--text-faint: #858d9d;--accent: #4f46e5;--accent-soft: #4338ca;--accent-bg: rgba(79, 70, 229, .1);--wc-new: #059669;--wc-new-bg: rgba(5, 150, 105, .12);--wc-fix: #b45309;--wc-fix-bg: rgba(180, 83, 9, .12);--wc-other: #64748b;--wc-other-bg: rgba(100, 116, 139, .12);--pos: #059669;--neg: #dc2626;--warn: #b45309;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .08);--topbar-bg: rgba(246, 247, 249, .86);--logo-color: #1462f0}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4,h5,h6{margin:0;font-weight:650}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.01em}.brand-logo{height:22px;width:auto;color:var(--logo-color);flex-shrink:0}.topbar .spacer{flex:1}.content{flex:1;max-width:1320px;width:100%;margin:0 auto;padding:22px 20px 64px}.seg{display:inline-flex;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{border:0;background:transparent;color:var(--text-dim);padding:5px 11px;font-size:13px;border-radius:6px;font-weight:550}.seg button:hover{color:var(--text)}.seg button.active{background:var(--accent-bg);color:var(--text)}.proj-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 1px var(--border)}select,input[type=date],input[type=text]{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px;font-family:inherit}select:focus,input:focus{outline:none;border-color:var(--accent)}.daterange{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint);font-size:12px}.btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:550}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-soft)}.btn.ghost{background:transparent}.avatar{border-radius:50%;background:var(--bg-elev-2);object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;font-weight:650;color:var(--text-dim);overflow:hidden;border:1px solid var(--border)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:650;margin-bottom:10px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 7px;border-radius:999px;font-weight:600;border:1px solid transparent}.badge.bot{background:var(--accent-bg);color:var(--accent)}.badge.unverified{background:#fbbf2421;color:var(--warn)}.badge.team{background:var(--bg-elev-2);color:var(--text-dim);border-color:var(--border)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 9px;border-radius:999px;font-weight:500;border:1px solid transparent;max-width:100%}.chip .swatch{width:6px;height:6px;border-radius:50%;flex:none}.chip.wc-new{background:var(--wc-new-bg);color:var(--wc-new)}.chip.wc-new .swatch{background:var(--wc-new)}.chip.wc-fix{background:var(--wc-fix-bg);color:var(--wc-fix)}.chip.wc-fix .swatch{background:var(--wc-fix)}.chip.wc-other{background:var(--wc-other-bg);color:var(--wc-other)}.chip.wc-other .swatch{background:var(--wc-other)}a.chip:hover{text-decoration:none;filter:brightness(1.15)}.tiles{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.tile{background:var(--bg-elev-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:9px 11px;position:relative;cursor:default}.tile .v{font-size:18px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tile .l{font-size:11px;color:var(--text-faint);margin-top:1px}.tile .v.pos{color:var(--pos)}.tile .v.neg{color:var(--neg)}.tile[data-tooltip] .l:after{content:" ⓘ";font-size:9px;opacity:.4;vertical-align:middle;font-weight:400;line-height:1}.tile[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:12px;font-weight:400;letter-spacing:0;color:var(--text);white-space:normal;width:220px;z-index:200;pointer-events:none;line-height:1.45;box-shadow:0 4px 14px #0003}.people-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.person-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:15px;cursor:pointer;transition:border-color .13s,transform .13s,background .13s}.person-card:hover{border-color:var(--accent);background:var(--bg-elev-2);transform:translateY(-2px)}.person-card .head{display:flex;gap:11px;align-items:flex-start}.person-card .name{font-weight:650;font-size:15px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.person-card .email{color:var(--text-faint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-card .meta-row{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.person-card .stat-tiles{margin-top:13px}.rank-badge{margin-left:auto;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums;background:var(--bg-elev-2);border-radius:6px;padding:2px 7px;border:1px solid var(--border-soft)}.team-list{display:flex;flex-direction:column;gap:8px}.team-row{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .13s,background .13s}.team-row:hover{border-color:var(--border);background:var(--bg-elev-2)}.team-row.open{border-color:var(--accent)}.team-row-head{display:flex;align-items:center;gap:12px;padding:10px 14px}.team-row-head .rank-badge{margin-left:0}.team-row-id{min-width:130px;max-width:180px;flex-shrink:0}.team-row-id .name{font-weight:650;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.team-row-id .meta-row{display:flex;gap:6px;margin-top:3px;flex-wrap:wrap}.team-row-hours{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;min-width:58px}.team-row-hours .v{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;color:var(--chart-logged)}.team-row-hours .l{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.team-row-ceo{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;font-size:13px;color:var(--text-dim)}.team-row-ceo .ceo-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-row-ceo .days-chip{flex-shrink:0;color:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.team-row-ceo .ceo-empty{color:var(--text-faint);font-style:italic}.team-row-stats{display:flex;gap:14px;flex-shrink:0}.team-stat{display:flex;flex-direction:column;align-items:flex-end}.team-stat .v{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.team-stat .l{font-size:10px;color:var(--text-faint)}.team-stat.strong .v{font-size:15px;color:var(--accent)}.team-row-pie{width:44px;height:44px;flex-shrink:0}.mini-pie{width:44px;height:44px}.team-row-chev{flex-shrink:0;width:14px;text-align:center;color:var(--text-faint);font-size:10px}.team-row-body{display:grid;grid-template-columns:1fr minmax(220px,260px);gap:20px;padding:4px 14px 16px;border-top:1px solid var(--border-soft);margin-top:2px}.team-row-summaries{display:flex;flex-direction:column;gap:12px;min-width:0}.team-row-aside{display:flex;flex-direction:column;gap:10px}.team-row-aside .dev-link{font-size:13px;color:var(--accent)}@media (max-width: 760px){.team-row-stats,.team-row-pie{display:none}.team-row-body{grid-template-columns:1fr}}.page-head{display:flex;align-items:center;gap:16px;margin-bottom:8px}.page-head .titles h2{font-size:22px;letter-spacing:-.02em}.page-head .titles .sub{color:var(--text-faint);font-size:13px}.dev-score{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.dev-score .v{font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--accent)}.dev-score .l{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-top:3px}.back-link{font-size:13px;color:var(--text-dim);margin-bottom:14px;display:inline-flex;gap:5px;align-items:center}.split{display:grid;grid-template-columns:1fr;gap:20px}.timeline{display:flex;flex-direction:column;gap:14px}.summary-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.summary-card .day-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer}.summary-card .day-head .d{font-weight:650;font-size:15px}.summary-card .day-head .drill{margin-left:auto;font-size:12px;color:var(--text-faint)}.summary-card .day-head:hover .drill{color:var(--accent)}.subsection{margin-top:12px}.subsection .label{display:inline-flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:650;margin-bottom:5px}.subsection.new .label{color:var(--wc-new)}.subsection.fix .label{color:var(--wc-fix)}.exec-summary{display:flex;flex-direction:column;gap:4px;margin-top:10px}.exec-line{display:flex;align-items:flex-start;gap:7px;font-size:13.5px;font-weight:600;line-height:1.5;color:var(--text);margin-bottom:2px}.exec-icon{position:relative;flex:none;display:inline-flex;margin-top:3px;color:var(--text-faint);cursor:help;transition:color .12s ease}.exec-icon:hover{color:var(--accent)}.exec-icon[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px;font-size:12px;font-weight:400;letter-spacing:0;color:var(--text);white-space:nowrap;z-index:200;pointer-events:none;line-height:1.45;box-shadow:0 4px 14px #0003}.exec-item .txt a{color:var(--accent);text-decoration:none}.exec-item .txt a:hover{text-decoration:underline}.exec-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;color:var(--text)}a.exec-item{text-decoration:none}a.exec-item:hover .txt{text-decoration:underline}.exec-item .dot{width:6px;height:6px;border-radius:50%;flex:none;margin-top:6px;background:var(--wc-other)}.exec-item.wc-new .dot{background:var(--wc-new)}.exec-item.wc-fix .dot{background:var(--wc-fix)}.exec-item.wc-other .dot{background:var(--wc-other)}.summary-details{margin-top:12px}.summary-details>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:650;color:var(--text-faint);-webkit-user-select:none;user-select:none}.summary-details>summary::-webkit-details-marker{display:none}.summary-details>summary:hover{color:var(--text-dim)}.summary-details>summary .chev{width:0;height:0;border-left:4px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.summary-details[open]>summary .chev{transform:rotate(90deg)}.summary-details-body{margin-top:4px}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul{margin:4px 0 8px;padding-left:18px}.md li{margin:2px 0}.md h4{font-size:15px;margin:10px 0 6px}.md h5{font-size:13px;margin:8px 0 4px;color:var(--text-dim)}.md h6{font-size:12px;margin:6px 0 4px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.md code{background:var(--bg-elev-2);padding:1px 5px;border-radius:5px;font-family:var(--mono);font-size:.9em}.md hr{border:0;border-top:1px solid var(--border);margin:12px 0}.md-table-wrap{margin:8px 0;overflow-x:auto}.md table{border-collapse:collapse;width:100%;font-size:12px}.md th,.md td{border:1px solid var(--border-soft);padding:5px 9px;text-align:left;vertical-align:top}.md th{background:var(--bg-elev-2);font-weight:600;white-space:nowrap}.md.muted{color:var(--text-dim)}.drill-list{display:flex;flex-direction:column;gap:6px}.drill-row{display:flex;align-items:center;gap:10px;padding:9px 11px;background:var(--bg-elev-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:13px}.drill-row:hover{border-color:var(--accent)}.drill-row .key{font-family:var(--mono);font-size:12px;color:var(--text-dim);flex:none}.drill-row .ttl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-row .meta{color:var(--text-faint);font-size:12px;flex:none;font-variant-numeric:tabular-nums}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:36px 34px;width:360px;text-align:center}.login-card .logo{display:block;width:46px;height:auto;margin:0 auto 16px;color:var(--logo-color)}.login-card h1{font-size:20px;margin-bottom:6px}.login-card p{color:var(--text-dim);font-size:13px;margin:0 0 22px}.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#1f2330;border:0;border-radius:var(--radius-sm);padding:11px;font-weight:600;font-size:14px}.google-btn:hover{background:#f1f3f6}.login-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#fca5a5;border-radius:var(--radius-sm);padding:10px;font-size:13px;margin-bottom:18px}.usermenu{position:relative}.usermenu .trigger{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:2px;color:var(--text)}.usermenu .dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);min-width:200px;padding:6px;z-index:30}.usermenu .dropdown .who{padding:8px 10px;border-bottom:1px solid var(--border-soft);margin-bottom:6px}.usermenu .dropdown .who .nm{font-weight:600}.usermenu .dropdown .who .em{font-size:12px;color:var(--text-faint)}.usermenu .dropdown button{width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:8px 10px;border-radius:6px;font-size:13px}.usermenu .dropdown button:hover{background:var(--bg-hover)}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:11px 17px;font-weight:600;box-shadow:var(--shadow)}.chat-fab:hover{background:var(--accent-soft)}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50}.chat-panel{position:fixed;top:0;right:0;bottom:0;width:min(640px,100vw);background:var(--bg-elev);border-left:1px solid var(--border);z-index:51;display:flex;flex-direction:column;box-shadow:-12px 0 40px #0006}.chat-panel .head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.chat-panel .head h3{font-size:15px}.chat-panel .head .close{margin-left:auto;background:transparent;border:0;color:var(--text-dim);font-size:18px;line-height:1;padding:4px 8px}.chat-sessions{border-bottom:1px solid var(--border);padding:8px 10px;display:flex;gap:6px;overflow-x:auto}.chat-sessions .s{flex:none;font-size:12px;padding:5px 10px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border-soft);color:var(--text-dim);white-space:nowrap}.chat-sessions .s:hover,.chat-sessions .s.active{border-color:var(--accent);color:var(--text)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.msg{max-width:88%}.msg.user{align-self:flex-end}.msg.assistant{align-self:flex-start}.msg .bubble{padding:10px 13px;border-radius:14px;font-size:13px}.msg.user .bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.msg.assistant .bubble{background:var(--bg-elev-2);border:1px solid var(--border-soft);border-bottom-left-radius:4px}.tool-indicator{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-faint);font-style:italic}.tool-indicator .pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.chat-input{border-top:1px solid var(--border);padding:12px;display:flex;gap:8px}.chat-input textarea{flex:1;resize:none;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 11px;font-family:inherit;font-size:13px;max-height:120px}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:64px 20px;color:var(--text-faint);text-align:center}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--bg-elev) 25%,var(--bg-elev-2) 50%,var(--bg-elev) 75%);background-size:200% 100%;animation:shimmer 1.3s linear infinite;border-radius:var(--radius-sm)}@keyframes shimmer{to{background-position:-200% 0}}.error-banner{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#fca5a5;border-radius:var(--radius-sm);padding:12px 14px;font-size:13px}.chart-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px 16px 8px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar .grow{flex:1}@media (min-width: 1000px){.split.dev{grid-template-columns:1fr 360px;align-items:start}}.theme-seg button{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px}.theme-seg svg{width:15px;height:15px;display:block}
