:root{color-scheme:light;--frame: #F5F0E8;--card: #FFFFFF;--sage: #546A57;--sage-dark: #455a48;--text: #2b2b2b;--muted: #6b6b6b;--border: #e0d9cd;--good: #546A57;--warn: #c08a3e;--bug: #b54848;--radius: 8px;--gap-grid: 16px;--gap-section: 32px;--pad-card: 24px;--topbar-h: 56px;--subbar-h: 32px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;color:var(--text);background:var(--frame);font-size:14px;line-height:1.4;font-feature-settings:"tnum" on,"lnum" on}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}:focus{outline:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=option]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sage);outline-offset:2px;border-radius:var(--radius)}button{font-family:inherit;font-size:inherit;cursor:pointer;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-weight:500;transition:background .1s,border-color .1s}button:hover{background:#fafafa}button:disabled{cursor:not-allowed;opacity:.5}button.is-active{background:var(--sage);color:#fff;border-color:var(--sage)}button.is-active:hover{background:var(--sage-dark);border-color:var(--sage-dark)}input[type=text],input[type=email],input[type=password],input[type=date],select{font-family:inherit;font-size:inherit;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;outline:none}input:focus,select:focus{border-color:var(--sage)}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.app-shell{min-height:100vh;background:var(--frame);display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:24px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-center{flex:1;display:flex;justify-content:center}.brand{font-weight:600;font-size:16px;letter-spacing:-.01em}.brand .sub{color:var(--muted);font-weight:400;margin-left:8px}.subbar{position:sticky;top:var(--topbar-h);z-index:19;height:var(--subbar-h);background:var(--frame);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:24px}.tabs{position:sticky;top:calc(var(--topbar-h) + var(--subbar-h));z-index:18;background:var(--frame);padding:8px 24px 0;display:flex;gap:24px;border-bottom:1px solid var(--border)}.tab{padding:8px 4px;border-bottom:2px solid transparent;color:var(--muted);font-weight:500;cursor:pointer;background:none;border-radius:0}.tab:hover{background:none;color:var(--text)}.tab.is-active{background:none;color:var(--text);border-bottom-color:var(--sage)}.page{padding:var(--gap-section) 24px;max-width:1440px;margin:0 auto;width:100%}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-card)}.card-title{font-size:13px;color:var(--muted);font-weight:500;margin:0 0 8px;display:flex;align-items:center;gap:4px}.card-hero{font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 4px}.card-foot{font-size:12px;color:var(--muted);margin-top:12px}.card-period{font-size:12px;color:var(--muted);margin-top:2px}.metric-zero-state{font-size:13px;line-height:1.4;color:var(--muted);font-style:italic;margin-top:8px;max-width:32em}.grid{display:grid;gap:var(--gap-grid);margin-bottom:var(--gap-section)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-1{grid-template-columns:1fr}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--card)}.segmented button{border:none;border-radius:0;border-right:1px solid var(--border);padding:4px 12px;font-size:13px}.segmented button:last-child{border-right:none}.segmented.seg-sm{background:var(--frame)}.segmented.seg-sm button{padding:3px 10px;font-size:12px}.segmented.seg-sm button:not(.is-active){background:transparent;color:var(--text)}.segmented.seg-sm button:not(.is-active):hover{background:#546a570f}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.chip:not(.is-active):hover{background:#fafafa}.chip.is-active{background:var(--sage);color:#fff;border-color:var(--sage)}.chip.is-active:hover{background:var(--sage-dark);border-color:var(--sage-dark)}.tag-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.tag-dot.good{background:var(--good)}.tag-dot.warn{background:var(--warn)}.tag-dot.bug{background:var(--bug)}.conv-layout{display:grid;grid-template-columns:40fr 60fr;gap:var(--gap-grid);height:calc(100vh - var(--topbar-h) - var(--subbar-h) - 90px);min-height:600px}.conv-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow-y:auto}.conv-list-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer}.conv-list-row:hover{background:#fafafa}.conv-list-row.is-active{background:#546a5714}.conv-list-meta{color:var(--muted);font-size:12px}.conv-drawer{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-height:0}.conv-drawer-header{padding:16px 20px;border-bottom:1px solid var(--border)}.conv-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.conv-drawer-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center}.msg-bubble{display:flex;flex-direction:column;gap:4px;max-width:85%}.msg-bubble.user{align-self:flex-end;align-items:flex-end}.msg-bubble.assistant{align-self:flex-start}.msg-meta{font-size:11px;color:var(--muted)}.msg-body{background:#f6f3ee;border-radius:var(--radius);padding:8px 12px;white-space:pre-wrap;word-break:break-word}.msg-bubble.user .msg-body{background:var(--sage);color:#fff}.msg-products{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.product-chip{background:var(--card);border:1px solid var(--border);padding:2px 8px;border-radius:999px;font-size:11px;color:var(--muted)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--frame)}.login-card{width:360px;padding:32px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.login-card h1{font-size:20px;font-weight:600;margin:0 0 4px}.login-card p{color:var(--muted);margin:0 0 20px}.login-card label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.login-card input{width:100%}.login-card .err{color:var(--bug);font-size:12px;margin-top:8px}.login-card button{width:100%;margin-top:16px}.empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}.hbar-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:8px}.hbar-label{font-size:13px}.hbar-track{position:relative;height:6px;background:#546a571a;border-radius:3px;margin-top:4px;overflow:hidden}.hbar-fill{position:absolute;inset:0 auto 0 0;background:var(--sage);border-radius:3px}.hbar-count{color:var(--muted);font-size:12px}.handoff-breakdown{margin-top:16px;display:flex;flex-direction:column;gap:8px}.handoff-row{display:grid;grid-template-columns:minmax(110px,max-content) 1fr minmax(80px,max-content);gap:10px;align-items:center}.handoff-label{font-size:12px;color:var(--text)}.handoff-bar{position:relative;height:4px;background:#546a571a;border-radius:2px;overflow:hidden}.handoff-fill{position:absolute;inset:0 auto 0 0;height:100%;background:var(--sage);border-radius:2px}.handoff-prior{position:absolute;inset:0 auto 0 0;height:100%;background:#9a9387;opacity:.3;border-radius:2px}.handoff-stat{font-size:11px;color:var(--muted);text-align:right}.fte-toggle{display:inline-flex;gap:8px;margin:12px 0}.fte-projection{font-size:40px;font-weight:600;letter-spacing:-.02em;margin:8px 0}.info-tip-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:12px;line-height:1;padding:0;background:none;border:none;color:var(--muted);cursor:help;border-radius:50%}.info-tip-btn:hover{color:var(--text);background:none}.info-tip-btn:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.info-tip-popup{position:absolute;z-index:1000;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:0 4px 12px #00000014;font-size:12px;line-height:1.45;pointer-events:none}.info-tip-def{color:var(--text)}.info-tip-src{color:var(--muted);margin-top:6px;font-size:11px}.chart-tooltip{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;box-shadow:0 2px 8px #0000000f}.chart-tooltip-value{color:var(--sage);font-weight:600;font-size:13px}.chart-tooltip-prior{color:#6b6b6b;font-size:12px;margin-top:2px}.chart-tooltip-delta{font-size:11px;margin-top:2px;font-weight:500}.chart-tooltip-delta.pos{color:var(--sage)}.chart-tooltip-delta.neg{color:var(--bug)}.chart-tooltip-delta.neutral{color:var(--muted)}.chart-tooltip-date{font-size:11px;margin-top:2px}.pill-row{margin-top:4px}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.pill .pill-label{font-weight:400;opacity:.85}.pill-pos{background:#546a571a;color:var(--sage)}.pill-neg{background:#b548481a;color:var(--bug)}.pill-neutral{background:#6b6b6b1a;color:var(--muted)}.compare-control{display:inline-flex;align-items:center;gap:8px;position:relative}.compare-label{display:inline-flex;align-items:center;gap:2px;font-size:13px;color:var(--muted)}.compare-range-dialog{position:absolute;top:100%;right:0;margin-top:6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:0 4px 12px #00000014;z-index:50;min-width:280px}.compare-range-row{display:flex;gap:8px;margin-bottom:12px}.compare-range-row label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.compare-range-row input[type=date]{width:100%}.compare-range-actions{display:flex;justify-content:flex-end;gap:8px}.donut-prior{margin-top:12px;padding-top:8px;border-top:1px solid var(--border);font-size:12px}.hbar-prior{position:absolute;inset:0 auto 0 0;background:#9a9387;opacity:.3;border-radius:3px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border)}.recharts-cartesian-axis-tick-value{font-variant-numeric:tabular-nums}@media (min-width: 480px) and (max-width: 899px){.grid.row-hero{grid-template-columns:repeat(3,1fr)}.grid.row-supporting{grid-template-columns:repeat(2,1fr)}.grid.row-behavioral,.grid.row-segmentation{grid-template-columns:1fr}.grid.cols-3:not(.row-hero):not(.row-behavioral){grid-template-columns:1fr}.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-2{grid-template-columns:1fr}.conv-layout{grid-template-columns:1fr;height:auto}}@media (max-width: 479px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.page{padding:16px}.topbar{flex-direction:column;align-items:stretch;height:auto;padding:12px 16px;gap:8px}.topbar-left{justify-content:flex-start}.topbar-center,.topbar-right{width:100%}.topbar-center>*{width:100%}.topbar-right{display:flex;gap:8px}.topbar-right>*{flex:1}.subbar{flex-direction:column;align-items:stretch;height:auto;padding:8px 16px;gap:8px}.subbar .segmented{width:100%;flex-wrap:wrap}.subbar .segmented button{flex:1}.compare-control{width:100%}.compare-control select{flex:1;min-width:0}.compare-range-dialog{right:auto;left:0;min-width:auto;width:100%}.tabs{padding:0 16px;gap:0}.tab{flex:1;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 8px}.card{padding:16px}.card-hero{font-size:28px}.fte-projection{font-size:32px}.fte-toggle{width:100%}.fte-toggle .segmented{width:100%;display:flex}.fte-toggle .segmented button{flex:1}.conv-layout{grid-template-columns:1fr;height:auto}}
